package com.v0710.docommon.exception;

import com.v0710.docommon.dto.RCode;

import java.util.Objects;


public class Check {


    /**
     * 空判断
     *
     * @param o   待判断为空的对象
     * @param code 提示信息码
     */
    public static void isNull(Object o, RCode code) throws SysException {
        if (Objects.isNull(o))
            throw new SysException(code);
    }

    /**
     * 非空判断
     *
     * @param o   待判断为空的对象
     * @param code 提示信息码
     */
    public static void isNotNull(Object o, RCode code) throws SysException {
        if (!Objects.isNull(o))
            throw new SysException(code);
    }

    /**
     * true判断
     *
     * @param b   bool对象 true 或 false
     * @param code 提示信息码
     */
    public static void isTrue(boolean b, RCode code) throws SysException {
        if (b)
            throw new SysException(code);
    }

    /**
     * false判断
     *
     * @param b   bool对象 true 或 false
     * @param code 提示信息码
     */
    public static void isFalse(boolean b,RCode code) throws SysException {
        if (!b)
            throw new SysException(code);
    }

    /**
     * 相等判断
     *
     * @param a   待比较对象A
     * @param b   待比较对象B
     * @param code 提示信息码
     */
    public static void equals(Object a, Object b, RCode code) throws SysException {
        if (a.equals(b))
            throw new SysException(code);
    }

    /**
     * 不等判断
     *
     * @param a    待比较对象A
     * @param b    待比较对象B
     * @param code 提示信息码
     */
    public static void notEquals(Object a, Object b, RCode code) throws SysException {
        if (!a.equals(b))
            throw new SysException(code);
    }

}
